3. Git Branch
什么是 GitHub Branch?
GitHub Branch(分支)是 Git 版本控制系统的核心概念之一。它允许开发人员并行工作,使团队能够在不同的功能或修复任务上进行协作,而不会影响主代码库。
info
使用分支可以提高开发效率,减少代码冲突,并确保主分支的稳定性。
分支的应用场景
场景 | 说明 |
---|---|
功能开发 | 在 feature 分支上进行新功能开发,避免影响主分支 |
Bug 修复 | 在 hotfix 分支上修复紧急问题,迅速合并至 main |
版本发布 | 在 release 分支上测试和修复稳定版本,最终合并到 main |
代码审查 | 提交 Pull Request (PR) 进行代码审核,提高代码质量 |
GitHub 分支基本操作
# 创建新分支并切换到该分支
git checkout -b feature-new-ui
# 切换到已有分支
git checkout main
# 删除本地分支
git branch -d feature-new-ui
# 强制删除本地分支(未合并)
git branch -D feature-new-ui
# 推送本地分支到远程仓库
git push origin feature-new-ui
# 删除远程分支
git push origin --delete feature-new-ui
# 查看本地所有分支
git branch
# 查看远程所有分支
git branch -r
# 创建分支但不切换
git branch new-branch
GitHub 分支缓存与回滚
# 暂存当前未提交的更改
git stash
# 查看暂存的更改
git stash list
# 恢复最近一次暂存的更改
git stash pop
# 丢弃所有暂存的更改
git stash clear
# 撤销最近的 commit(保留更改)
git reset --soft HEAD~1
# 强制回滚到某个 commit(丢弃更改)
git reset --hard <commit-hash>
# 创建一个新的提交来回滚变更
git revert <commit-hash>
GitHub 分支管理策略
Git Flow 工作流
Git Flow 是一种广泛使用的 Git 分支管理策略,通常包含以下分支:
main
:主分支,包含稳定的生产代码。develop
:开发分支,所有功能分支从此创建。feature/*
:功能分支,开发新功能。hotfix/*
:热修复分支,紧急问题修复。release/*
:发布分支,测试和修复稳定版本。
# 创建 develop 分支
git checkout -b develop
# 创建 feature 分支
git checkout -b feature-login develop
Pull Request(PR)最佳实践
tip
Pull Request 是 GitHub 上协作开发的关键步骤,良好的 PR 习惯可以提高团队效率。
- 确保代码合并目标正确
git checkout feature-branch
git rebase main - 保持提交记录清晰
git commit -m "Refactor login component"
- 请求代码审查 在 GitHub 上创建 PR,并添加合适的审阅者。
合并策略
- Merge(合并提交记录)
- Rebase(保持提交历史清晰)
git checkout main
git merge feature-branch
git push origin main
git checkout feature-branch
git rebase main
git checkout main
git merge feature-branch
结论
GitHub 分支管理是团队开发的核心部分,通过合理的分支管理策略,可以提高开发效率、减少冲突并确保代码的稳定性。